package com.nd.android.musicboxlibrary.interf;

import android.content.Context;
import com.nd.android.musicboxlibrary.interf.impl.DownLoadManager;
import com.nd.android.musicboxlibrary.interf.impl.PlayerManager;
import com.nd.android.musicboxlibrary.interf.impl.PlaylistManager;

/**
 * 接口实例管理类 <br>
 * Created 2014年9月15日 下午11:15:43
 * 
 * @version
 * @author wat.ztag
 * 
 * @see
 */
public final class ManagerFactory {

    /**
     * Creates a new instance of ManagerFactory. <br>
     * Created 2014年9月15日 下午11:15:47
     */
    private ManagerFactory() {
    }

    private static IDownloadManager dm = null;

    private static IPlayerManager pm = null;

    private static IPlaylistManager plm = null;

    /**
     * 获取 IDownloadManager 实例 <br>
     * Created 2014年9月15日 下午11:15:51
     * @param context Context
     * @return IDownloadManager
     * @author wat.ztag
     */
    public static IDownloadManager getDownloadInstance(Context context) {
        if (dm == null) {
            dm = new DownLoadManager(context.getApplicationContext());
        }
        return dm;
    }

    /**
     * 获取 IPlayerManager 实例 <br>
     * Created 2014年9月15日 下午11:15:56
     * 
     * @return IPlayerManager
     * @author wat.ztag
     */
    public static IPlayerManager getPlayerInstance() {
        if (pm == null) {
            pm = new PlayerManager();
        }
        return pm;
    }

    /**
     * 获取 IPlaylistManager 实例 <br>
     * Created 2014年9月15日 下午11:16:01
     * @param context Context
     * @return IPlaylistManager
     * @author wat.ztag
     */
    public static IPlaylistManager getPlaylistInstance(Context context) {
        if (plm == null) {
            plm = new PlaylistManager(context.getApplicationContext());
        }
        return plm;
    }

}
